23

» WarCraft 3 / Карты из стандартных кампаний

Похожие вопросы:

ответ
Misha24:
нестандартных единиц с нестандартными моделями
я через редактор кампаний нажимал на одну миссию правой кнопкой редактировать
потом я сохранял карту отдельно
когда варике открываю карту то все юниты теряют свои модели на стандартные
как мне сделать чтобы модели и все прочее сохранялось
Карту нужно запаковать в архив компании.

23

» WarCraft 3 / Карты из стандартных кампаний

Принятый ответ
Похожие вопросы:

ответ
Misha24:
нестандартных единиц с нестандартными моделями
я через редактор кампаний нажимал на одну миссию правой кнопкой редактировать
потом я сохранял карту отдельно
когда варике открываю карту то все юниты теряют свои модели на стандартные
как мне сделать чтобы модели и все прочее сохранялось
Карту нужно запаковать в архив компании.

23

» WarCraft 3 / Что это?

Похожие вопросы:

ответ
Чисто теория!
Набор игровых, а точнее "набор игровых данных", это данные о балансе. Например, подобная настройка имеется в "StarCraft 2".
ответ
Artyom18:
Pippetz:
Чудеса, а у меня есть.
Куда дел?
у меня особенный редактор JNGP настроенный под меня и в нём убран бесполезный хлам.
Скачай нормальный редактор и не будет ошибки
ответ
Подитожим все вышесказанное:
  1. Русификаторы триггеров всегда косячат.
  2. По этой причине часть функций, условий и событий не переведена на русский, либо представляет собой вообще строку без названия.
  3. Оптимальным решением является работа на "чистой" версии редактора с нормально настроенным JNGP.
  4. Обитателям сайта следует быть более вежливыми и терпимыми друг к другу.
ответ
это цикл
подробнее в статьях

23

» WarCraft 3 / Вопрос про Custom Script

Похожие вопросы:

ответ
Нинадо бж, это не переменная а функция
local unit u = GetEnumUnit( ) 

23

» WarCraft 3 / Сложное время

Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с
ответ
для второго персонажа анимацию придётся делать с нуля, так что трудновато
ответ
Воу... Джаз не обязательно изучать, всё это можно сделать и на ГУИ, тем более такую простую способность. На этом сайте есть тема "Заклинания на заказ". Заказывай, жди, получай, изучай. Если прям горит, могу сделать для тебя сам.
ответ
Есть одна наработка - Dota helper, это dll которая подключается мемхаком к карте, дает много чего (в основном для доты), но там есть дабл клик, который реализован так: когда игрок нажал способность и пытается её кликнуть в область инетфейса, код из библиотеки мгновенно переносят курсор в позицию портрета, так как определение координат виджетов на экране уже есть, думаю автонаведение сделать вполне можно.
Но это уже C++ и поддержки нету, думайте и решайте все сами.
ответ
Закрыто.

23

» WarCraft 3 / Как сделать прозрачность?

Похожие вопросы:

ответ
ВНЕЗАПНО это делается одним действием: Игра - Enable/Disable Drag-Selection (настроенное на Disable drag-selection functionality (disable drag-selection box)).
ответ
Во-первых это .blp. Удалить из своего mpq архива ничего не надо. Импортировать пустую текстуру тоже, их можно в редакторе выключить.
ответ
Если хочешь узнать что такое альфаканал поможет репетитор (Гугл), прозрачность и альфа-канал одно и тоже(почти), не умеешь попроси чтобы помогли сделать.
ответ
ENAleksey, Залил
Тема "ЗАКРЫТА" ..Я решил проблему ) Будет время напишу статью , ну и когда собственно будет способность )

23

» WarCraft 3 / Броня в варике

Похожие вопросы:

ответ
Я тебя понял, я пытался, всё тщетно. Придется создавать способность пустышку, например, на основе смертельного удара, а затем триггерно при изучении смертельного удара добавлять твою, невидимую.
ответ
изначально убираем звук атаки
при атаке проверяем оружие и броню и в зависимости от них воспроизводим звук из бд
вот статьи
там всё по пунктам
прочти первые 200 статей

23

» WarCraft 3 / Безмолвие, туман

Похожие вопросы:

ответ
Туман рики есть обычный туман ястреба, настраиваешь там предотвращённые атаки и шанс промаха, но здесь есть кое-какой провал.
Дело в том, что туман устроен так багнуто, что может работать нормально только у красного игрока.
Вообщем делать надо вот так:
Создаём дамми для каста тумана, для игрока 1 красный!
Если сам туман скастовал союзник первой команды, то даём туман, действующий на врагов(в допустимых целях враги)
Если сам туман скастовал враг первой команды(враг красного), то даём туман, действующий на союзников(в допустимых целях союзники)
Вот так
ответ
Ознакомились с правилами сайта и создали вопросы отдельно

23

» WarCraft 3 / Странное условие

Похожие вопросы:

ответ
  1. Думаю, что можно.
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.

2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.

  1. Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.

4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.

5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...

  1. Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.

  1. Это легко через Custom Value и переменние.

Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.
ответ
pricoluwa, ну тогда вопрос закрыт
с секретными разработками тут не помогают
ответ
Steal nerves:
огромная инфа
GetTriggerEvalCount - сколько раз условие сработает (если триггер выключен, то событие с условием все равно работают, и будет прибавлять без конца). Еще понял, что, если выключен (через галочку), то это не будет работать. Есть специальная команда TriggerEvaluate, можно проверить с помощью нее. Это короче сколько раз прокатывает условие (см. TriggerEvaluate)
GetTriggerExecCount - сколько раз сработал триггер (если триггер выключен, то счетчик GetTriggerExecCount не засчитает это). Вроде это за поток отвечает, например Execute. Мне вот интересно, а вот в ForGroup проверить можно сколько потоков стало? вроде ничего не будет
TriggerEvaluate - проверка, проверяет есть ли у триггера условие. Проверяет скорее всего, то что прокатывает ли условие (пример функции ConditionalTriggerExecute). Можно на любом триггере проверить это. Если триггер выключен (не в самих триггерах, а в разделе редактора триггеров через галочку - если снять включен, то не работает проверка), то это не проверишь. Некоторые хитрецы используют функцию условия, это будет быстрее, а точнее раньше выполняется. С этим можно использовать TriggerEvaluate
TriggerExecute - запускает поток функции (действие триггера запускает), игнорируя условие и событие. Однако, не используйте варкрафтовские переменные вроде GetTriggerUnit(), так как они не будут работать, ибо они пусты и зависят от события.
TriggerExecuteWait - то же самое, что и TriggerExecute. В чем разница между двумя мне неизвестно. Проверял маленько.
ResetTrigger - перезапускает триггер и обнуляет значения GetTriggerEvalCount и GetTriggerExecCount
TriggerSleepAction - он же вэйт, паузит на время поток (не паузит весь триггер), короче действие (action). В условии эта штука не работает, обрывает поток. В некоторых функциях он также не работает, например ForGroup, В ForGroup видимо отдельные потоки создает и шлет, на каждого свой поток, если вставит там вэйт, то он обрубает поток и все. А то что внизу осталось, он до конца не обработает уже никогда. Это пример.
раскрыть
Вот результаты:
  1. Вызов TriggerSleepAction внутри TriggerEvaluate убивает поток, и он никогда не возобновляется.
  2. Вызов TriggerSleepAction внутри TriggerExecute работает.
  3. Вызов TriggerSleepAction внутри TriggerExecuteWait выполняет то же самое, что и TriggerExecute.
  4. Иногда может обрывать поток в неожиданных местах. Например, ForGroup. А иногда работает.
IsTriggerWaitOnSleeps, - эта особая проверка триггера, проверяет включена ли пауза (короче вэйт TriggerSleepAction будет работать, иначе нет). С этой функцией связана другая функция TriggerWaitOnSleeps. IsTriggerWaitOnSleeps возвращает истину true - значит вэйт включен, false - вэйт выключен. Кстати я долго мучался, оказывается, что, если все в первый раз, то функция вернет false, даже, если вэйт работает.
TriggerWaitOnSleeps - функция которая включает вэйт (true) и выключает вэйт (false). Короче пропускает время ожидания вэйта. У меня эта функция работает не сразу, или вообще не работала, тыкал пока не заработало.
ответ
Не удивительно, кто так делает?
Никаких вейтов в гуппах использовать нельзя, что за глупость! Для задержек существуют таймеры!
Слишком низкое время жизни дамми юнита, ставь секунд 5, то рисукуешь убить юнита неизвестно кем.
Ты не даешь видимость и не создаешь даммика за нейтрально пассивных, а зря! Даммик может не удивить в кого ему кинуть корни, цель можеть быть в тумане войны.
Чтобы кинуть корни в случайных юнитов в радиусе, есть особое дейстие GroupPickRandomUnit().
Спелл нужно переписать с 0, так же удалить русс. триггеры!

23

» WarCraft 3 / Spellbook

Похожие вопросы:

ответ
Все способности на основе одной базовой сделаны?
В таком случае у них общий приказ и, соответственно, игра пытается запустить их все одновременно.
Рекомендую делать на основе способности канал - ему можно выставить любой приказ на свой вкус и, соответственно, избавиться от одновременной активации всех способностей, если каждой способности дать разные приказы.

23

» WarCraft 3 / Кнопки мини-карты

Похожие вопросы:

ответ
Никак.
Хотя если рыть очень глубоко с шрифтами, то возможно одна из категорий шрифта отвечает за эту циферку. Если повезёт - она при этом не будет отвечать ни за какие другие экранные шрифты в игре. Заменить шрифт в этой категории на малюсенький или бесцветный какой-нить - вот и удалили циферку. Как менять щрифт в карте отдельная статья.
ответ
~8gabriel8:
Как-то щёлкнул галку просто в параметрах карты, что скрытые области частично видимы)

23

» WarCraft 3 / Иконка в mpq

Похожие вопросы:

ответ
создаём каждой абилке 11 копий и у каждой ставим иконку нужного цвета
потом разным игрокам абилки с разным цветом
для приказов:
заменяем обычные кнопки приказов на скилы
ответ
UnitRemoveAbility(whichUnit, 'ARal')
где whichUnit - твое здание

23

» WarCraft 3 / Изменение скорости анимации

Похожие вопросы:

ответ
нет, скорее вшиты в коде, как заливка синим при нехватке маны
ответ
avuremybe, да в принципе в любом будь то war3modeleditor или Mdlvis.

23

» WarCraft 3 / Вопрос

Похожие вопросы:

ответ
Нет, не утекает. По крайней мере совсем незначительно. Проверенно многими часами)
ответ
Нинадо бж, это не переменная а функция
local unit u = GetEnumUnit( ) 
ответ
S2I принимает строку в качестве параметра и никак её не изменяет
с чего вдруг он должен создавать новые строки?
I2S создаёт временную строку
если в таблице есть строка равная временной по хэшу то он возвращает строку из таблицы
если в таблице строки нету то он добавляет нашу временную строку в таблицу
т.е. обычный алгоритм хэширования
ответ
  1. Ищите вопросы с GetLocalPlayer в названии.
  2. Ответ дали выше.
ответ
Он лежит на случай если игре необходим данный реф. В РО ты мог иногда видеть необходимое приложение и варианты small, medium и large. Также по возможности спецэффекты и эффекты способностей могут к ней крепиться.
А collission насколько я помню отвечает за выделение или за столкновение летающих юнитов. На всякий случай оставляй, а то мало ли, да и места много не просит.

23

» WarCraft 3 / текстуры ланда

Похожие вопросы:

ответ
Maxsavin:
darkowlom, ну я сабжом расставил нужные текстуры. Из всего что пора пришло в голову только использовать триггер "Окружение" и в нужных местах областями ставить текстуры. Но это как муторно.. Вот и решил спросить можно ли обойти ограничения.
Это делается функциями GetTerrainType и SetTerrainType.
Рисуешь на тех же самых текстурах определенную допустим квадратную локацию.
Затем for стартовоеX до конечноеX внутри for СтартовоеY до КонечноеY если getterraintype = точтонадозаменить то setterraintype на другую текстуру.
Других адекватных методов нет. Триггер который ты привел использует локации (точки), а значит - это возня с точками - возможно утечки.
Я используя эти функ целиком всю карту стираю размера 256x256 и отрисовываю 10к тайлов, в одном проекте). Лаг если и есть во время перерисовки - то незаметный, не больше 0.5сек
ответ
Вопрос не содержит вопроса.
ответ
В файле war3x.mpq есть несколько маленьких mpq для каждого тайлсета. Конкретно текстуры Короны лежат в i.mpq
ответ
JNGP, там можно чуть больше тайслетов, но всеравно есть лимит.

23

» WarCraft 3 / Меню заданий

Похожие вопросы:

ответ
Master113, добавить через "Новое условие" оператор "или" (Там два разных варианта, удобнее "or, multiple conditions" ("или, несколько условий" - как-то так)), туда поместить сравнения для каждого юнита. (Условие "или" будет выполняться, если выполнится хотя бы 1 условие внутри. Для оператора "и" - должны выполняться все условия внутри. Стандартный раздел триггера "Условия" действует как "и").
ответ
ТЬФУ! Никто, начиная с меня, JASS читать не умеет!
call SetAbilityCD (GetSpellAbilityId(), i, GetAbilityCD(GetSpellAbilityId(), GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) * percent)
на русский переводится как:
  • Задать перезарядку способности (Кастуемая способность, уровень i, получить перезарядку способности юнита на ТЕКУЩЕМ УРОВНЕ СПОСОБНОСТИ ЮНИТА и умножить на нашу переменную)
Какого хрена тут ТЕКУЩИЙ УРОВЕНЬ, когда должен тоже быть уровень i?! Оно в цикле везде берет текущий уровень абилки вмеcто i. Т. е. если перезарядка на разных уровнях разная, это уже ппц ошибка.
Сейчас как раз фикшу эту абилу, она один хрен не до конца правильно действует, и уже тут самые разные извращения с ней получались, после выхода из вара фаталило, крч, 90% вероятности, что другие абилы Психопомпы в поряде, а фатал здесь.
Короче, вот, вроде теперь действует нормально.
Извините уж, что не под катом, мозги уже не имеют сил кат вставлять.
function BendingEffect takes nothing returns nothing
local real percent = 1.00
local real percent2 = 0.00
local integer i = 11
local integer percentchange = 0
if ( GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit()) >= 1 ) and (GetAbilityCD(GetSpellAbilityId(), GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) >= 1) then
УВЕЛИЧЕНИЕ НА 1%
if UnitHasBuffBJ(GetTriggerUnit(),'B0H8') == true then
set percent = 1.01
endif
НА 1% - ЗАКРЫТО.
УВЕЛИЧЕНИЕ НА 2%
if UnitHasBuffBJ(GetTriggerUnit(),'B0H9') == true then
set percent = 1.02
endif
НА 2% - ЗАКРЫТО.
УВЕЛИЧЕНИЕ НА 3%
if UnitHasBuffBJ(GetTriggerUnit(),'B0HA') == true then
set percent = 1.03
endif
НА 3% - ЗАКРЫТО.
УВЕЛИЧЕНИЕ НА 4%
if UnitHasBuffBJ(GetTriggerUnit(),'B0HB') == true then
set percent = 1.04
endif
НА 4% - ЗАКРЫТО.
УВЕЛИЧЕНИЕ НА 5%
if UnitHasBuffBJ(GetTriggerUnit(),'B0HC') == true then
set percent = 1.05
endif
НА 5% - ЗАКРЫТО.
ТАЛАНТ СИЛЬНОЕ ИСКРИВЛЕНИЕ
set i = 0
set percent = percent - 1
loop
set i = i + 1
exitwhen i > 12
if ( GetUnitAbilityLevelSwapped('A281', udg_Circle[i]) == 2 ) then
set percent = percent * 2
set i = 12
endif
endloop
set percent = percent + 1
ТАЛАНТ СИЛЬНОЕ ИСКРИВЛЕНИЕ - ЗАКРЫТО.
if (percent > 1.00) then
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Psychopomp2.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
loop
exitwhen i < 1
set i = i-1
ОКРУГЛЕНИЕ ДО СОТЫХ (ИНАЧЕ МОГУТ ЗАПИСАТЬСЯ ДОП. ЦИФРЫ НЕ В ТЕ ЯЧЕЙКИ)
loop
exitwhen i < 1
set i=i - 1
set percent2 = GetAbilityCD(GetSpellAbilityId(), i) * percent
set percent2 = percent2 * 100
set percentchange = R2I(percent2)
set percent2 = I2R(percentchange)
set percent2 = percent2 * 0.01
call SetAbilityCD(GetSpellAbilityId() , i , percent2)
endloop
ОКРУГЛЕНИЕ ДО СОТЫХ - ЗАКРЫТО.
endloop
else
endif
else
endif
endfunction
//////////////
Ну, короче, действует-то однозначно она уже лучше, раньше цифры высчитывались с избытком, теперь явно правильнее. Насчет фаталов время покажет... Но все равно стало лучше.
((кат ответ
Clamp, когда ты начнешь внимательно читать что я пишу!
Там грузится не то что он написал в описании задания а все строки из констант и все пути к текстурам.
Что именно грузит движок в момент открытия вкладки задания, можно прелоадом.
Вот содержимое pld файла у меня:
quest.pld
((код jass
call Preload( "war3map.w3i" )
call Preload( "war3map.wts" )
call Preload( "Maps\\Test\\WorldEditTestMap.w3x" )
call Preload( "Sound\\Interface\\GamePause.wav" )
call Preload( "Sound\\Interface\\QuestActivateWhat1.wav" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-menu-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-normal-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-completed-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\editbox-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-failed-background.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSkeletonArcher.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSpy.blp" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-button-highlight.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTN_quq_CCCP.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNFrostWyrm.blp" )
call Preload( "Sound\\Interface\\BigButtonClick.wav" )
call PreloadEnd( 47.8 )
))
))
ответ
Можно меню переместить за пределы экрана с помошью мемхак рендер
call EditUpperButtonBarButtonPixel(0, ANCHOR_TOPRIGHT, upperBarStartX, upperBarStartY + upperBarDeltaY*0, upperButtonWidth, upperButtonHeight)
        call EditUpperButtonBarButtonPixel(1, ANCHOR_TOPRIGHT, upperBarStartX, upperBarStartY + upperBarDeltaY*1, upperButtonWidth, upperButtonHeight)
        call EditUpperButtonBarButtonPixel(2, ANCHOR_TOPRIGHT, upperBarStartX, upperBarStartY + upperBarDeltaY*2, upperButtonWidth, upperButtonHeight)
        call EditUpperButtonBarButtonPixel(3, ANCHOR_TOPRIGHT, upperBarStartX, upperBarStartY + upperBarDeltaY*3, upperButtonWidth, upperButtonHeight)
Вот карта
пример скрин
как выглядит я все убрал меню за предел экрана
ответ
Лимита заданий-нету, проверено.

23

» WarCraft 3 / Эффект статуса.

Похожие вопросы:

ответ
У тебя в поле 2 заклинания?
Просто это одна из способностей, у которой такая фигня получается. У тебя в поле заклинания должно быть два значения. Производная от печати преисподней и от Печати преисподней (слуга)
ответ
8gabriel8, Ну я сказал главное без наведения невидно.
ответ
IcE_PLayER, Кароче у всех инвизов фейд тамй не стакается, если один начался, второй не начнется.
Добавляйте 'Amin' с временем перехода в инвиз когда вздумается, а не при создании мины.
Так же можно паузить юнита (точно помню что работало с инвизами волков) и юнит становится видим, минам же ненужно ходить или кастовать спеллы, на них не распространяются никакие баффы (как на все варды), так что пауза тоже зайдет без проблем...

23

» WarCraft 3 / Помогите с созданием этого спелла

Похожие вопросы:

ответ
]]Chupakabra[[, я понял. Крч на костылях придется лепить. Попробуй при выборе героя добавлять геройские абилки, а потом блочить или удалять их. Думаю, так можно добавить до 7 штук. Через ро не получается больше 5.
Если не получится - пробуй делать полностью триггерно с помощью спеллбука.
ответ
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
  1. Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
  1. Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.

23

» WarCraft 3 / Порталы

Похожие вопросы:

ответ
А этих мало?
Tunngle есть
ответ
портал можно создать, в нужном месте. и написать ИИ код свой. Но это все - просто логические выводы, и чтобы к ним прийти, нужно включить голову
ответ
Нейтральное здание - Set Way Gate Destination.
ответ
Если как в Diablo, то я когда-то такую систему делал. Пишу по памяти. Нужно создать несколько переменных:
  • логические (их количество = количеству порталов) - определяют, можно ли перемещаться в данную точку
  • диалог - показывает доступные порталы
  • диалоговые кнопки (их количество тоже = количеству порталов) - при их нажатии идёт перемещение в нужный портал
  • точки (количество точек = количеству порталов) - куда именно перемещается герой. Лучше делать локальными, чтоб в памяти не висели.
На карте в местах порталов нужно создать небольшие области, при входе в которые будет показываться диалог.
Для активации порталов можно делать проверку при входе в область (логическая переменная). Если портал неактивен (переменная = нет), то установить переменную = да (то есть доступность портала).
Далее показывается диалог, где показываются кнопки активных порталов. При нажатии переносит в соответствующую точку. При переносе лучше отключить триггер, реагирующий на вход в область и включить после перехода.
Ещё варианты: вместо использования логических переменных проверять условие (например, жизнь конкретного юнита в области типа "портал" = Х; у конкретного юнита в области типа "портал" есть определённая способность-пустышка; если портал - декорация, то проверять её прочность); вместо диалога сделать выбор в панели способностей юнита-портала (типа как у магазина, причём переход можно сделать платным).
Вариантов можно много придумать, в общем.
А если нужен переход с карты на карту, то можно посмотреть в той же кампании, как это сделано.
Ещё есть интересная статья, информацию из которой у меня всё руки не доходят применить - xgm.guru/p/wc3/transitions-tutorial.
ответ
Alexey103, один массив вмещает в себя более восьми тысяч значений. Этого будет достаточно.
Ещё, кстати, можно смещать точки командой:
call MoveLocation(location L, real X, real Y)

23

» WarCraft 3 / Перевод карты

Принятый ответ
Похожие вопросы:

ответ
Мне не тру. Подсказываю самый простой способ:
  • Для начала, стоит скачать карту, которую хочешь перевести. Очень важно, чтобы она была не на русском, иначе перевод карты теряет смысл.
  • Открыть карту в World Editor.
  • Если карта запротекчена, нужно воспользоваться программой по взлому. Их очень легко найти самостоятельно.
  • Карта открыта. Теперь можно переводить её. Для этого стоит пройтись по редактору объектов и игровому интерфейсу.
  • Если есть сложности с переводом, можно воспользоваться гугл-переводчиком. Но содержание углепластика в тексте карты резко возрастёт.
  • Сохраняем карту.
  • ???
  • PROFIT!
На правах капитана.
ответ
Пиши текст с начала в онлайн декодере , после перекодируй вот так:[UTF-8(русский текст)>CP1251(кодировка варика)] и результат вставь в карту.
ответ
Крашлог и карту желательно, мб где то пропустили скобку?
ответ
Бордер, у меня уже давно валяется W3MLocalizer.exe , погугли, посмотри как работает, мб тебе подойдёт
ответ
у каждого формата свой алгоритм,вот из за этого такая разница ,особенно на вес блп влияет прозрачность что лутше прозрачные места которые не затрагивает меш красить чёрным цветом

23

» WarCraft 3 / Как временно удалить способность у героя?

Похожие вопросы:

ответ
Zhenya17, ты хотя бы основные статьи прочти и учебник 1 класса по логике
какой по твоему должна быть применяемая способность если способность никто не применяет?
когда прочтёшь то пикай на карте нужных тебе героев и удаляй у них нужную тебе способность
ответ
~8gabriel8:
mishanka122:
Если во всех картах одинаковый id, значит покопайся в хеше.
Это как, можно в личку?
Проблему решил, переделав стандартную способность, а не создавая нестандартную. Это почти что панацея от подобных случаев, когда id (ещё называют raw-code) способности меняется.
ответ
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.

23

» WarCraft 3 / Бесконечные герои

Похожие вопросы:

ответ
  1. Условие неправильное, не юнит триггера а юнит входящий в область.
  2. Сделай действие во вкладке Боевая единица - добавить способность юниту.
ответ
Трабла с героями - в игровых константах.
Трабла с требованиями - в РО.
1 тема = 1 вопрос.
ответ
В игровых константах надо добавить героев в список героев. Точно так же делается с ратушами. И мб ещё с чем-то.
ответ
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя
ответ
Триггерно заставлять Юнита проигрывать анимацию stand, как только он завершит каст или отдать приказ стоп.